<?php
//Ultima verificacion: 12-10-2014 ; 20-11-2014 ; 20-02-2015 (Ultima verificacion)
class M_archivo extends CI_Model {
	function _construct(){
		//Call the Model constructor
		parent::_construct();
	}
	
	//Este metodo se utiliza para eliminar un archivo
	function eliminar($idArchivo=null, $idDestructor=null){
		$consulta = $this->db->query("UPDATE `archivo` 
									 SET `estado` = -1,
										 `idDestructor` = ". $this->db->escape($idDestructor) ."
							         WHERE `archivo`.`idArchivo` = " . $this->db->escape($idArchivo) . " LIMIT 1");
		return($this->db->affected_rows());
	}
	
	//Este metodo se utiliza para crear un archivo en la base de datos
	function crear($hash=null,$idUsuario=null,$ruta=null,$nombre=null,$ext=null,$contenttype=null,$cantidad=null,$estado=null,$idCreador=null){
		$this->db->query("INSERT INTO `archivo` (`idArchivo`,`hash`,`idUsuario`,`ruta`,`nombre`,`ext`,`contenttype`,`cantidad`,`fechaCreacion`,`estado`,`idCreador`) VALUES 
												(NULL,".$this->db->escape($hash).",".$this->db->escape($idUsuario).",".$this->db->escape($ruta).",".$this->db->escape($nombre).",".$this->db->escape($ext).",".$this->db->escape($contenttype).",".$this->db->escape($cantidad).",now(),".$this->db->escape($estado).",".$this->db->escape($idCreador).")");
		return($this->db->affected_rows());
	}
	
	//Este metodo se utiliza cuando queremos obtener los datos de un archivo segun su id
	function get($idArchivo=null){
		$consulta = $this->db->query('SELECT * 
									  FROM archivo 
									  WHERE idArchivo='.$this->db->escape($idArchivo).' AND estado=1
									  LIMIT 1');
		return($consulta);
	}
	
	//Este metodo se utiliza cuando queremos obtener los datos de un archivo segun su hash
	function getPorHash($hash=null){
		$consulta = $this->db->query('SELECT * 
									  FROM archivo 
									  WHERE hash='.$this->db->escape($hash).' AND estado=1
									  LIMIT 1');
		return($consulta);
	}
	
	//Este metodo se utiliza para modificar un archivo
	function modificar($idArchivo=null, $hash=null, $nombre=null, $ext=null, $contenttype=null){
		$consulta = $this->db->query("UPDATE `archivo`
									 SET `hash` = ". $this->db->escape($hash) .",
									     `nombre` = ". $this->db->escape($nombre) .",
										 `ext` = ". $this->db->escape($ext) .",
										 `contenttype` = ". $this->db->escape($contenttype) ."
							         WHERE `archivo`.`idArchivo` = " . $this->db->escape($idArchivo) . " LIMIT 1");
		return($this->db->affected_rows());
	}
}
?>